<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%--
  Created by IntelliJ IDEA.
  User: Wangliwei
  Date: 2017/6/18
  Time: 21:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title></title>
</head>
<body>
<h1>学生信息一览表</h1>
  <%// 编码转换
    request.setCharacterEncoding("GB2312") ;
    if(session.getAttribute("uname")!=null)
    {// 用户已登陆%>
  <%!String DBDRIVER		= "com.mysql.jdbc.Driver" ;
    String DBURL			= "jdbc:mysql://127.0.0.1:3306/student" ;
    String DBUSER			= "root" ;
    String DBPASSWORD	= "" ;
    Connection conn		= null ;
    PreparedStatement pstmt	= null ;
    ResultSet rs			= null ; %>
  <%// 如果有内容，则修改变量i，如果没有，则根据i的值进行无内容提示
    int i = 0 ;
    String sql = null;
    String keyword = request.getParameter("keyword") ;
    // out.println(keyword) ;
    if(keyword==null)
    {// 没有任何查询条件
      sql = " SELECT num,name,sex,score,indate FROM students  " ;
    }else
    {// 有查询条件
      sql = " SELECT num,name,sex,score,indate FROM students WHERE num like ? or name like ? or score like ?  " ;
    }
    try{
      Class.forName(DBDRIVER) ;
      conn= DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD) ;
      pstmt = conn.prepareStatement(sql) ;
// 如果存在查询内容，则需要设置查询条件
      if(keyword!=null)
      {// 存在查询条件
        pstmt.setString(1,"%"+keyword+"%") ;
        pstmt.setString(2,"%"+keyword+"%") ;
        pstmt.setString(3,"%"+keyword+"%") ;
        pstmt.setString(4,"%"+keyword+"%") ;
        pstmt.setString(5,"%"+keyword+"%") ;
       }

      rs = pstmt.executeQuery() ; %>
  <table width="400" border="1" height="163"> <tr>
    <td>学号</td><td>姓名</td><td>性别</td><td>成绩</td><td>入学时间</td>
  </tr><%while(rs.next())
  {i++ ;// 进行循环打印，打印出所有的内容，以表格形式
    // 从数据库中取出内容
    String num = rs.getString(1) ;
    String name = rs.getString(2) ;
    String sex = rs.getString(3) ;
    String score = rs.getString(4) ;
    String indate = rs.getString(5) ;
    if(keyword!=null) {
      num = num.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
      name = name.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
      sex = sex.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
      score = score.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
      indate = indate.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ; }%>
    <tr><td><%=num%></td>
      <td><%=name%></td>
      <td><%=sex%></td>
      <td><%=score%></td>
      <td><%=indate%></td><td></td></tr><%}
      // 判断i的值是否改变，如果改变，则表示有内容，反之，无内容
      if(i==0) {// 进行提示%><tr>
      <td colspan="5">没有任何内容！！！</td></tr><%}%></table>
  <%rs.close() ; pstmt.close() ; conn.close() ;
  }catch(Exception e){}%>
  <%}else{// 用户未登陆，提示用户登陆，并跳转
    response.setHeader("refresh","2;URL=login.jsp") ;
  %>您还未登陆，请先登陆！！！<br>
  两秒后自动跳转到登陆窗口！！！<br>
  如果没有跳转，请按<a href="Login.jsp">这里</a>！！！<br>
  <%}%><h3> <a href="main.jsp">回到功能列表页</a></h3>


</body>
</html>
